<cfcomponent>
	<cffunction name="initApp">
		<cfargument name="values">

		<cflock scope="Application" throwontimeout="true" timeout="17" type="exclusive">
			<cfset application.globalFunctions = createObject("component", "#application.dotPath#app.globals")>
			<cfset application.globalFunctionMeta = getComponentMetadata("#application.dotPath#app.globals")>
		</cflock>
	</cffunction>
<!---  --->
	<cffunction name="initSession">
		<cfargument name="values">

		<cflock scope="Session" throwontimeout="false" timeout="7" type="exclusive">
			<cfset session.set = application.globalFunctions.set>
		</cflock>
	</cffunction>
	<cffunction name="missingTemplate">
		<cfargument name="values">

		<cfoutput>
			<div align="center" style="color: red; font-weight: bold;">
				#arguments.values.targetPage# is non-existent
			</div>
		</cfoutput>
	</cffunction>
<!---  --->
	<cffunction name="missingView">
		<cfargument name="values">

		<cfset var viewName = arguments.values.view>

		<cfif listContains(application.debugIPaddress, CGI.remote_addr) OR application.developmentMode>
			<cfoutput>
				The specified view, #viewName#, does not exist.
				<br><br>
				<a href="/index.cfm/creator?viewName=#viewName#">Create this view</a>
			</cfoutput>
		<cfelse>
			The #viewName# view does not exist.
		</cfif>
	</cffunction>
<!---  --->
	<cffunction name="preCFCrequest">
		<cfargument name="values">

		<cfif session.controller.preRequest>
			<cfinvoke component="session.controller" method="preRequest">
		</cfif>
	</cffunction>
<!---  --->
	<cffunction name="postCFCrequest">
		<cfargument name="values">

		<cfif session.controller.postRequest>
			<cfinvoke component="session.controller" method="postRequest">
		</cfif>
	</cffunction>
</cfcomponent>